<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://Microsoft.ConnectionEngine/Schemas/ServiceProviderRegister" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://Microsoft.ConnectionEngine/Schemas/ServiceProviderRegister" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="ServiceProviderList" type="ServiceProviderList" nillable="true" />
  <xs:complexType name="ServiceProviderList">
    <xs:sequence>
      <xs:element name="PoolList" type="ArrayOfPool" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ArrayOfPool">
    <xs:sequence>
      <xs:element name="Pool" type="Pool" nillable="true" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Pool">
    <xs:sequence>
      <xs:element name="PoolID" type="xs:int" />
      <xs:element name="PoolName" type="xs:string" />
      <xs:element name="ServiceProviders" type="ArrayOfServiceProvider" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ArrayOfServiceProvider">
    <xs:sequence>
      <xs:element name="ServiceProvider" type="ServiceProvider" nillable="true" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ServiceProvider">
    <xs:sequence>
      <xs:element name="DisplayName" type="xs:string" />
      <xs:element name="SystemName" type="xs:string" />
      <xs:element name="PublicKey" type="xs:string" />
      <xs:element name="WebServiceURL" type="xs:string" />
      <xs:element name="EncryptionAlgorithm" type="xs:string" />
      <xs:element name="Contact" type="Contact" />
      <xs:element name="ServiceProviderType" type="ServiceProviderType" />
      <xs:element name="ServiceProviderID" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Contact">
    <xs:sequence>
      <xs:element name="Name" type="xs:string" />
      <xs:element name="AddressLine1" type="xs:string" />
      <xs:element name="AddressLine2" type="xs:string" />
      <xs:element name="City" type="xs:string" />
      <xs:element name="PostalCode" type="xs:string" />
      <xs:element name="Province" type="xs:string" />
      <xs:element name="Country" type="xs:string" />
      <xs:element name="Phone" type="xs:string" />
      <xs:element name="Fax" type="xs:string" />
      <xs:element name="Email" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ServiceProviderType">
    <xs:sequence>
      <xs:element name="ServiceProviderTypeID" type="xs:int" />
      <xs:element name="DisplayName" type="xs:string" />
      <xs:element name="ServiceProviderTypeCode" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>